home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 May / macformat-024.iso / Shareware City / Applications / PlainText141 Folder / PlainText Worksheet next >
Encoding:
Text File  |  1995-01-19  |  29.9 KB  |  596 lines  |  [TEXT/MRPH]

  1. ;----------------------------------------------------------------------------
  2. ;                                 Worksheet
  3. ;
  4. ; Use this window as a scratch pad for keeping notes and as a space for 
  5. ; temporary and intermediate work. Its contents are saved between launches
  6. ; of the PlainText program. If you don’t like the idea of having a Worksheet
  7. ; that is always open, select the “No Worksheet” option in the Edit Menu.
  8. ;
  9. ;                                            Mel Park, Memphis, Tennessee
  10. ;----------------------------------------------------------------------------
  11.  
  12.     This is the documentation for version 1.4.1 of PlainText. This version is a
  13. fat binary. Be sure to read the section ‘Fat Binary’ that appears later in this
  14. document.
  15.     
  16.     You should make a copy of this file and save it somewhere with a different
  17. name. One way of doing this is to select the “Save a Copy” item from the
  18. File Menu. Name the copy “Original PlainText Worksheet” or some such.
  19.  
  20. File Menu
  21.     This is standard Mac stuff. PlainText will open any text file. Printing is
  22. pretty ordinary. There is no way to change print margins or lines per page.
  23. A short vertical line appears at the top of every text window which indicates 
  24. the recommended right margin. Text wrapped to this width will be centered on 
  25. the printed page. PlainText prints the page number at the bottom of every page.
  26.     
  27.     If you hold the option key down while selecting the Open menu item, then
  28. all files, not just text files, are displayed and can be opened. Files opened 
  29. in this way are read only. You can copy data from them to the clipboard but 
  30. not change them in any way.
  31.  
  32.     The “Save” menu item is only activated when a file has been changed by
  33. adding or removing characters. The term “dirty” is commonly used to describe 
  34. text files in this state. Non-editing changes, such as changing the font or 
  35. adding a mark do not dirty a file. However, all such changes, even scroll 
  36. position and selection range, are always saved to disk when you close a file. 
  37. So, don’t be surprised by disk activity when you close a file
  38. in which you have made no text changes.
  39.  
  40. Edit Menu
  41.     The Undo function provides the one level of undo that you expect with a
  42. Macintosh application. Likewise the Cut, Copy, Paste, and Clear routines work
  43. in the standard Macintosh fashion. However, their action can be changed by the
  44. “Edit Columns” menu item. Clicking on this item toggles column editing on or 
  45. off. The “Edit Columns” menu item is enabled and column editing is only allowed
  46. when a fixed font such as Monaco or Courier is in use.
  47.  
  48.     With column editing enabled, cutting and clearing text operates on every
  49. line in the text file, cutting or clearing a vertical column of characters
  50. corresponding to the selection range. The selection range cannot extend across
  51. lines. Pasting will insert the columns contained in the clipboard into every
  52. line, along the vertical column indicated by the selection range. Since column
  53. editing is a mode, the user is reminded by a beep every time a column editing
  54. function is performed.
  55.  
  56.     “Shift Right” and “Shift Left” add or remove one tab on each line or, 
  57. when word wrap is on, each paragraph within the selection region. At the 
  58. same time, it converts all space runs to the corresponding number of tabs.
  59. “Align” aligns all subsequent lines to the first line in the selection
  60. region.
  61.  
  62.     “No Worksheet” will close the worksheet window and set PlainText to not
  63. open a worksheet window in the future. It is reversed by the “Use Worksheet”
  64. menu item which becomes an option when there is no worksheet. When in the
  65. No-Worksheet mode, PlainText will open a blank untitled window, like most Mac
  66. applications, when lauched. The Format dialog of the Edit Menu is where you
  67. select fonts and font size, turn wordwrapping on or off (ON is the default),
  68. select tab width, and show or not show invisible characters. These settings are
  69. remembered for each document and retained between launches. (Naturally, this is
  70. a Mac.)
  71.  
  72.     The “Format…” menu item calls a dialog for changing text font, text size,
  73. and certain preferences. The “Show Invisibles” check box prints ‘¿’ for all
  74. non-printing characters, ‘Δ’ for tabs, ‘¬’ for carriage returns, and ‘◊’
  75. for spaces. Automatic word wrap can be turned off or on and made to occur
  76. when text exceeds the width of the text’s window or a particular number of
  77. characters (Line Length). This line length parameter is also used for the
  78. “Hard Wrap to Length” item in the Convert Menu. The “Auto Indent” feature
  79. will look at the preceding line, when word wrap is off, or paragraph, when
  80. word wrap is on, and indent each new line to align with it. Clicking the
  81. okay button (or typing the return or enter key) applies those settings to
  82. the front window. Clicking the cancel button (or typing escape or
  83. command-period) cancels the dialog and does not make any changes to the
  84. front window. Clicking on the “All Files” button applies the settings to
  85. the front window and saves them as default settings that will be applied to
  86. all new windows and any foreign file that has not been previously opened by
  87. PlainText, MPW, or Alpha.
  88.  
  89. Find Menu
  90.     “Find, Replace…” implement the pretty standard and pretty intuitive search
  91. and replace functions for text windows. The search string can be a
  92. selection expression, that is, an expression that contains wildcards. (See
  93. the “Selection Expression” section, below. Try a search using *menu as the
  94. selection expression. Choose “Find…” and type “*menu” (without the quotes)
  95. and click the “Selection Expression” radio button. Now click the Find
  96. button (or hit the return key). See how a line containing “menu” has been
  97. found? Command-G repeats the search.
  98.  
  99.     If the selection expression is a number, it is interpreted as a line
  100. number. Try 102 as a selection expression.
  101.  
  102.     This line, the 102nd in this window, will be selected.
  103.  
  104.     If you hold down the shift key when you choose any of the Find menu items,
  105. then the search will be in the reverse direction. This is handiest when
  106. used in conjunction with the keyboard equivalents command-H and command-G.
  107.  
  108.     “Cut Lines Containing…” and “Copy Lines Containing…” allow you to cut or 
  109. copy all lines, or paragraphs if word wrap is on, to the clipboard. Note that
  110. there are command line equivalents, “cutline and “copylines” (see below).
  111.  
  112. Mark Menu
  113.     The Mark Menu handles two separate types of actions that can be used to
  114. mark text. (1) Bookmarks can be set at points in the text that you want to be
  115. able to jump back to. (2) Line numbers or other kinds of textual labelling 
  116. can be added to or removed from the begining of each line or paragraph. 
  117.     
  118.     The line numbering functions allow you to add or strip line or paragraph
  119. numbers from your text. Interesting enough, it is also useful for adding or
  120. removing characters to comment out blocks of computure code. Study the 
  121. “Numbering Parameters…” dialog. It does the simple things, like allowing you 
  122. to specify starting number and the numbering interval. It also allows you to 
  123. specify a prefix and suffix string to immediately precede and immediately 
  124. follow each line number and it allows three numbering modes: Arabic numerals, 
  125. Roman numberals (either upper or lower case), or an Alphabetic sequence (either
  126. upper or lower case, such as A, B, C, … z, aa, ab, etc.). To switch numbering 
  127. style either delete all the characters of the “Starting Number” dialog item and
  128. type in a new entry in the style you want (e.g. “xiv”) or repeatedly click on 
  129. the small style button to the right of the “Starting Number” dialog item.
  130.  
  131.     Marks are like bookmarks that you can place in a text file so that you 
  132. can recall previous selections. When you select a mark from the Mark Menu, 
  133. the text corresponding to that mark is selected and the window scrolls to 
  134. show it. You can add new marks with the Mark menu item and remove them with
  135. Unmark. You can alphabetize the order in which marks are displayed in the
  136. Mark Menu by selecting the Alphabetize menu item. Selecting it again restores 
  137. the original order. Look at the Marks that I have made for this file by 
  138. opening the Marks Menu.
  139.  
  140. Window Menu
  141.     Stack and Tile Windows resize the windows in either a stack or tiled so
  142. that each window is visible on the screen. The remaining menu items are a 
  143. catalog of open windows. The menu item for the front window is checked. The 
  144. target window is indicated by the bullet symbol (•). Windows whose changes 
  145. have not yet been saved to disk are underlined.
  146.  
  147. Convert Menu
  148.     This is a set of useful functions for converting or otherwise editing
  149. text. These functions have been requested by users or was selected from
  150. those I found myself using many times a day in Vantage, the desk accessory
  151. editor that I used for years. The big, full-featured editors, like Pete
  152. Keleher’s Alpha and BBEdit, by Rich Siegel, have these features, plus many
  153. more, as well.
  154.  
  155.     Strip Linefeeds is the way to convert an MS/DOS text file to the Mac
  156. convention.
  157.  
  158.     Strip Controls removes all characters with an Ascii code of 31 or less,
  159. except carriage returns and tabs.
  160.  
  161.     Form Paragraphs and Straight to Curly Quotes do what they say they do and
  162. are indispensible for preparing text for pasting into a word processor. 
  163.     Hard Wrap to Window and Curly to Straight quotes reverses those steps,
  164. such as when you want to prepare text for e-mail.
  165.  
  166.     The two Hard Wrap functions insert hard carriage returns at line ends,
  167. where a line end is defined either by the width of the window (Hard Wrap to
  168. Window) of the line length parameter set in the Format Dialog (Hard Wrap to
  169. Length).
  170.  
  171.     The “Strip Line Numbers” function will remove any leading digits in a 
  172. text file, and leading characters that conform to the currently selected
  173. numbering convention (Arabac, Roman, or Alpha) and concatinations of the
  174. latter with the prefix and suffix strings.
  175.  
  176.     The last two menu items will sort lines or paragraphs in either ascending
  177. or descending order. Marks remain correctly attached to the text they reference.
  178.  
  179. Typing Behavior
  180.  
  181.     Besides being fast and able to handle even very large files, PlainText has
  182. these built-in features:
  183.  
  184.     1.    Double-clicking selects a whole word. Note that double-clicking
  185.         the space after a word selects the preceeding word and the space.
  186.         This is a bug that is close enough to being a feature that I am 
  187.         not fixing it.
  188.     2.    Triple-clicking selects a whole line.
  189.     3.    Double clicking on or just before a bracket or parenthesis (i.e. 
  190.         “[”, “{”, etc.) causes all the text between the bracket or 
  191.         parenthesis and its matching bracket or parenthesis to become 
  192.         selected.
  193.     4.    Cutting, pasting, and undoing are fully implemented.
  194.     5.    The arrow keys work to move the insertion point or selection (hold
  195.         the shift key down) in the expected ways.
  196.     6.    Command-option-uparrow moves the insertion point to the top of the
  197.         file. Command-option-downarrow does the opposite. Holding the shift
  198.         key down while doing either of these extends the selection to either
  199.         the top or bottom of the document.
  200.     7.    Command-right arrow moves the insertion point to the end of the 
  201.         current line. Option-right arrow moves the cursor by words. The left
  202.         arrow combinations work in the same way, of course, and holding the
  203.         shift key down with any of these combinations extends the selection.
  204.         This is the standard Macintosh use of the arrow keys.
  205.     8.    It is a command-line interpreter in its own right. Simply type a 
  206.         command that PlainText understands and then hit the enter (not
  207.         return) key. This will work in any text window.
  208.  
  209.         The following commands can be executed from any text window: 
  210.         ls (same as dir in DOS), cd (change directory), chcre (change file
  211.         creator), chtyp (change file type, copylines, cutlines, file, open,
  212.         find, line. “Open” opens the named file and makes it the front window.
  213.         File is similar except the window is made the target window (second
  214.         from front). “line n” selects selects the nth line of the target
  215.         window (n is a number. “Find exp” searchs the target window for the
  216.         string “exp.” If there are embedded spaces within the search string,
  217.         enclose it in double (") or single (') quotes. Enclosing the search
  218.         string with the right slash (/) will cause it to be interpreted as
  219.         a regular expression. (See “Selection Expressions,” below.) The same
  220.         rules apply for the search strings used for the "copylines" and
  221.         "cutlines" commands. If there is a standard set of lines, like
  222.         e-mail headers, that you need to remove from files on a regular
  223.         basis, save a list of appropriate cutlines commands in your work-
  224.         sheet.
  225.  
  226.         In summary, hitting the enter key causes the current line or current 
  227.         selection, whichever is smaller, to be interpreted as a command line.
  228.  
  229.         Commands implemented:
  230.  
  231.             cd             Change default directory (folder). Note, the Mac 
  232.                          file system uses the colon to designate the present 
  233.                          or higher folders. Thus “cd ::” changes the default
  234.                          directory one level up.
  235.             chcre         Change a file’s creator. For example, 
  236.                          chcre ‘MRPH’ ‘Current File’ makes PlainText the
  237.                          creator of the file named ‘Current File.’
  238.             chtyp         Change the file type of a file, using the same
  239.                          syntax (chtyp type filename) as chcre.
  240.             copylines ss copy all lines containing the search string, ss.
  241.             cutlines ss  cut all lines containing the search string
  242.             fat2PPC ff     if ff is the name of a fat binary application, then 
  243.                           powerPC version is created, named ff.PPC.
  244.             fat268k ff   strips off the PowerPC code to make a fat binary a
  245.                           68K Mac version.
  246.             file         Open a file and make it the target
  247.             find ss         Find a string in the target window
  248.             ls             List a directory’s contents
  249.             ls -l         Give a full listing of a directory’s contents
  250.             line nn         Select line nn in the target window
  251.             open ff         Open a file
  252.             stats         Prints the statistics of the target window
  253.  
  254. Target Window
  255.     Note that the “line” and “find” comands operate on the TARGET window. The
  256. target window is the window behind the front-most window.
  257.  
  258. Large Files
  259.     PlainText must load its text files entirely into memory. If you get an
  260. out-of-memory error message when trying to open a very large file, just
  261. increase the partition (in the Finder’s Get-Info box for PlainText) to be
  262. larger than the file being opened. In System 7, turn on virtual memory if
  263. necessary.
  264.  
  265. Selection Expressions
  266.  
  267.     PlainText implements a subset of the regular expressions as implemented in
  268. unix and related to those implemented in MPW. The search string is interpreted
  269. as a regular expresson when the  “Selection Expression” radio button is 
  270. selected in the “Find and Replace” or “Cut/Copy Lines Containing” dialogs.
  271. The following is implemented:
  272.  
  273. Wildcards
  274.     * and ≈ (option-x) select any text from the beginning of a line or to 
  275.     the end of a line.
  276.     ? selects any single character.
  277. Sets
  278.     Characters appearing between square brackets represents a set, any one 
  279.     of which will be a valid match. Sets can include ranges. A range is 
  280.     represented by two characters separated by a hyphen. They will match 
  281.     any character with an ascii code within the range. Thus [0-9] (or [0-9])
  282.     will match any digit. [a-z] will match any lower-case letter. If the 
  283.     “Case Sensistive” check box is off, the [a-z] is the same as [a-zA-Z]. 
  284. Repeats
  285.     The plus sign (+) following any character or a set will match a sequence 
  286.     of one or more of the preceeding set or character.
  287. Special characters and escape
  288.     Any ascii code can be represented as a two-digit hex following the dollar
  289.     sign ($) or it’s equivalent on your international keyboard. Thus, $20 is 
  290.     the space character and $0C is the formfeed character.
  291.     
  292.     The backslash character is used to represent special characters and to 
  293.     make interpretation of any following character literal.
  294.     
  295.         \t        tab 
  296.         \r        return ($0D)
  297.         \l        linefeed ($0A)
  298.         \f        formfeed ($0C)
  299.         
  300.     and
  301.         \\        backslash
  302.         \[        right square bracket, etc.
  303.         
  304.     Hex ($00) and backslash character codes are the only elements of the 
  305.     selection expression syntax that can appear in the Replace string of 
  306.     the “Find and Replace” dialog and then only if the “Selection Expression” 
  307.     radio button is selected.
  308.     
  309. Fat Binary
  310.  
  311.     Version 1.4 of PlainText is distributed as a fat binary. That means it 
  312. contains both Motorola 680x0 and PowerPC native code. With two sets of binary
  313. code, the fat binary file occupies about 140K more disk space than a PowerPC 
  314. x0 specific version. If this is a handicap for you, you can strip either
  315. the PowerPC native code or the 680x0 native code out, using the new command-
  316. line commands fat2PPC or fat268k. Make a copy of PlainText and then type, for
  317. example, fat268k 'PlainText copy' <enter>. A file, named 'PlainText copy.68k',
  318. which has no PowerPC code, will appear on your disk. Rename it as you please.
  319.  
  320. Bug Reports
  321.  
  322.     Send comments and complaints to:
  323.  
  324.         Mel Park
  325.         Associate Professor
  326.         Department of Anatomy and Neurobiology
  327.         University of Tennessee
  328.         855 Monroe Avenue
  329.         Memphis, TN 38163
  330.         (901) 448-5984
  331.         mpark@nb.utmem.edu
  332.  
  333. PlainText is free.
  334.  
  335. Revision History
  336.  
  337. 0.4:     Fixed Standard File System 6 incompatibilities.
  338. 0.5:     Wordwrap is now the default.
  339.          Horizontal scroll bar occurs when it should.
  340.          Wordwrap to window correctly updates window.
  341.          Fixed Out of Memory problem with add linefeeds.
  342. 0.6:     Worksheet is an option.
  343.          Added font scaling and changing.
  344.          Open, file, and line commands now work in System 6.
  345.          All text moved to resources so that PlainText can now be
  346.            internationalized.
  347. 0.7:     Added Align, Shift Left, and Shift Right functions.
  348.          Fixed bug in which a strings just past the cursor were not
  349.            found in a forward search.
  350.          Open with option key down shows all files, not just text
  351.            files.
  352. 0.8:     SaveAFile stores resources properly and no longer causes
  353.            crashes.
  354.          The Standard File dialog is no longer displayed twice for new 
  355.            files.
  356.          Typing no longer overwrites the horizontal scroll bar.
  357.          Fixed some minor annoyances in v. 0.8a, like new windows coming
  358.            up with the wrong horizonal scroll bar and the cursor not being
  359.            erased when a window is deselected.
  360. 0.9:     There were bad crashes after some combinations of “Returns to
  361.            Linefeeds” and Saves or Closes, due to an old bug in the Mac
  362.            Menu Manager. Fixed now.
  363.          Similar bug was causing the Edit Menu to disappear when “No 
  364.            Worksheet” was selected.
  365.          Worksheet and non-worksheet windows open with or without a 
  366.            Go-Away Box as they should.
  367.          Added partial support for extended keyboard (Undo, cut, paste,
  368.            copy, page up, page down).
  369.          In System 7, opening from the finder directs Standard File package
  370.            to proper directory.
  371.          Horizonal arrow keys work properly except anchor point not yet
  372.            implemented.
  373. 0.91:     Extended keyboard fully implemented.
  374.          Fixed crashes due to Menu Manager bug.
  375. 1.0:     Added entab and detab functions.
  376.          Added word wrap to line lengths
  377.          Added autoindent
  378.          These last required additions to Format dialog.
  379.          Horizontal arrow keys now have an anchor point.
  380.          Word wrap to window is default for foreign text files as well
  381.            as new ones.
  382.          Command-arrow key functions now update the scroll bars.
  383.          Fixed conditions that would could cause a window to forget 
  384.            that it was dirty, with subsequent loss of most-recently 
  385.            typed data.
  386.          Text inserted at end of a line now drawn properly.
  387.          Errors in calculating buffer length in this last condition
  388.            also fixed.
  389.          Blinking cursor no longer interferes with text.
  390.          Show Invisibles with proportional fonts now works properly.
  391.          Go-Away box appears when it should in all conditions. 
  392.          Fixed System 6 bugs--can now open from finder.
  393.          Hiliting of selection range is now always in the right place.
  394.          Inserting text beginning with a carriage return used to foul up
  395.            the line starts array. This could cause a crash.
  396.          Crashes related to marks and selections beyond the text buffer
  397.            fixed.
  398. 1.1:     Fixed crashes due to errors in writing resources.
  399.          This means that resource forks are no longer corrupted.
  400.          Word wrap to length now works for newly opened documents.
  401.          Marks stopped working in v.1.0. Fixed.
  402.          Text now updated after Tile or Stack Windows.
  403.           Scroll bars now properly hilited after Tile and Stack Windows.
  404. 1.2:     Format and date in ls -l command now correct.
  405.          Searches for Entire Word now work.
  406.          All Clipboard window deficiencies fixed, i.e. it is now updated
  407.            as it should be after cuts and copies, Menus are properly
  408.            updated when this is the selected window, and the blinking
  409.            cursor is disabled.
  410.          In large files, the blinking cursor would be displayed as a long
  411.            vertical line when the window was scrolled more than 32K pixels
  412.            beyond the insertion point. Fixed.
  413.          Line length default really set to 75. This means that the “Word 
  414.            Wrap to Length” menu item works from the very beginning.
  415.          Implemented “Revert to Saved.”
  416.          Fixed scrolling error when large blocks of text deleted.
  417. 1.2a:     When word wrap is on, Autoindent indents paragraphs, not lines.
  418.          PlainText will now open documents on locked volumes.
  419.          Saving now always flushes files to disk with every Save, even if 
  420.            it is a sleeping PowerBook disk.
  421.          Tile and Stack Windows now work properly when there is no 
  422.            worksheet.
  423.          No longer asks to save a saved new document when quitting.
  424.          Short lines nolonger pirate* the up and down arrow key cursor
  425.            movements.
  426.          Shift and align improved to work on word-wrapped paragraphs.
  427. 1.2b:     Marks now aligned after pasting text.
  428.          Will now print beyond 32K of text.
  429. 1.2c:     Marks now updated after large selections of text deleted.
  430.          Will now print invisible characters and tabs.
  431. 1.2d:     Added page numbers to printed page.
  432. 1.2.1:     First non-beta release to public servers, i.e. Info-Mac.
  433.           Restored “File open in another application” alert.
  434.           In word wrap, adding or deleting text that caused rewrapping of
  435.             paragraphs with more than 32 lines used to blank part of the 
  436.             window above the changed text. Fixed.
  437. 1.2.2     “Tile Windows” formally tiled the Worksheet window and not the 
  438.            last text window. It now excludes the Worksheet from tiling.
  439.          Added support for a Preferences file for storing defaults.
  440.          Added the stats command-line option.
  441.          Added a four-pixel tick mark at the top of each window to indicate
  442.            the printed page width, minus 1” right and left margins.
  443.          Tabs now aligned when typing in the middle of a line.
  444. 1.2.3     1.2.2 introduced a bug that caused characters typed at the beginning
  445.            of an empty window to either not be draw are drawn in the wrong
  446.            position.
  447. 1.2.4     There was still misalignment when tabs were typed. Fixed.
  448.          Added chtyp and chcre commands.
  449.          The “Find Selection” menu item now activated for locked windows.
  450.          Added the “Strip Controls” menu item.
  451. 1.2.5     Fixed curor misplacement when typing returns at the end of a text 
  452.            file with AutoIndent on.
  453.          Files without resource forks would not open. I think this bug also
  454.            caused drag-and-drop to fail for these files.
  455.          Fixed the sometimes garbled text in the confirmation dialogs.
  456.          Cut and paste now works in the Find and Replace dialogs.
  457.          “Revert to Saved” previously caused a scrolling error.
  458. 1.2.6     Deleting an entire file would not delete the file’s marks. Fixed.
  459.          Cursor initialized with each activate event.
  460. 1.2.7     “Save As…” and “Save A Copy…” will now replace an existing file in
  461.            the proper way.
  462.          Added “P” as the keyboard equivalent for printing.
  463. 1.2.8     Zooming is now to the best size for a text window and not full screen.
  464.          All other Apple guidelines for zooming now conformed to.
  465.          Scroll bars no longer drawn twice in zooming.
  466.          Stats command now works at all times.
  467.          New window opened to ideal size.
  468. 1.2.9     Fixed zooming bug introduced in 1.2.8 that caused crashes in System 6.
  469.          Several obscure coding errors turned up in using the MetroWerks
  470.            compiler. These were probably never seen by users.
  471. 1.2.9a     Further fix of zooming bug. (Thanks to Bruce Craven and Joel Martin.)
  472. 1.3         Replace now doesn’t insert an extra character.
  473.          Dialog for find and replace now modeless (thanks to David Wright).
  474.          Strip Controls no longer deletes accented characters.
  475.           The line length parameter is saved.
  476.           Tabs to Spaces used to skip every other sequential tab.
  477.           Added “Cut/Copy Lines Containing” dialog.
  478. 1.3.1     Fixed version 1.3 crashes when closing the “Unmark…” dialog.
  479.          Implemented and fixed the full set of selection expressions.
  480. 1.3.2     Prior to this, the Find function would search past the end of text. 
  481.            In some cases, this caused extra replacements in global search and
  482.            replace. That was benign. However, it caused fatal freezes in the
  483.            “Cut Lines Containing” function.
  484. 1.3.3     Added "cutlines" and "copylines" command-line equivalents. 
  485.          Command-line searchs now use the right slash (/) to indicate that
  486.            the search string is a regular expression.
  487.          Added delay to page scrolling.
  488.          Cut and paste in Standard File dialog now uses proper scrap.
  489. 1.3.4     Special characters (e.g. \t or \r) in the Replace string were ignored
  490.            if not followed by one or more ordinary characters. Fixed.
  491.          When reopening a long document, the place in view was not the same as
  492.            the one when the document was closed. Fixed.
  493.          An already open document window is now brought to the front when 
  494.            its icon is double clicked or it is selected in the “Open…” dialog.
  495.          When not using the Worksheet option, PlainText now opens a blank 
  496.            untitled window upon launch.
  497. 1.3.5     Fixed bug that made wordwrapped documents open viewing a page or so
  498.            higher than when closed. This bug had also been causing wordwrapping
  499.            to be calculated twice when a document was opened.
  500.          Fixed error in opening foreign text files in which selection 
  501.            highliting is wrong, or there are even crashes when shift-clicking
  502.            to select a region.
  503. 1.3.6     Previously, expression searches ignored the last character in a file.
  504.            Fixing this bug involved a general improvement of memory management
  505.            for PlainText and its TextEdit core code (TE32K.c).
  506.          Changing to “Word Wrap to Length” from no word-wrapping previously 
  507.            caused an error in the horizontal scroll bar. (It was either absent
  508.            or set to the wrong values.)
  509.          Find now scrolls to position found text at the upper 1/3 of a window.
  510.          Read-only files now do not change the resource fork of file they open.
  511.          Also fixed some other logic errors that allowed read-only files to be
  512.            modified.
  513.          Scrap now converted at program launch.
  514. 1.3.7     Added more error checking when opening the worksheet window.
  515.          “Save As…” and “Save A Copy…” still had a bug. New windows were not
  516.            replacing existing files.
  517. 1.3.8     Fixed bug in which a new blank worksheet was not being created when
  518.            none existed before.
  519.          “Save As…” and “Save A Copy…” still had a bug. The fix in 1.3.7 re-
  520.            introduced the bug, fixed in 1.2.7, in which a file would not re-
  521.            place itself.
  522. 1.3.9     Supports hex characters in range searches (i.e. [$01-$1F]).
  523.          Regular expression searches now work in 24-bit mode.
  524.          Shift-click crashes that occured in new documents now fixed.
  525.          Arrow cursor now obscured when typing. The underlying improvements in
  526.            cursor handling probably fixed the conditions that sometimes made
  527.            PlainText very sluggish.
  528.          Active area of text windows enlarged on the left by three pixels. This 
  529.            eases clicking to select the beginning of a line.
  530.          Scrap now passed to “Cut Lines Contianing” dialog.
  531.          Final condition where last-modified date changed with foreign text 
  532.            files removed.
  533.           The line length parameter is now properly saved when the “All Files”
  534.             button in the “Format…” dialog is clicked.
  535.           Finds from the “Find and Replace” dialog now briefly hilite the found
  536.             selection. (Thanks to Steve Witt for this and other ideas.)
  537. 1.4         1.3.9 did not switch to arrow cursor when last document closed and for
  538.            some modal dialogs.
  539.          Compiled fat binary version.
  540.          Added defatting commands.
  541.          Placed command-line commands in a STR# resource.
  542.          Commands are no longer case sensitive.
  543.          Default window width on opening now the same for foreign files as for
  544.            new windows, i.e. the printed page width with 1" margins.
  545. 1.4.1     Rewrote DoMenu methods to make cursor control more logical. Arrow,
  546.            IBeam, and Watch cursors should now be displayed when they should.
  547.          Rewrote “Strip Controls” and other conversion routines to improve 
  548.            speed.
  549.          Rewrote Marks and undo routines to be more logical. Mark menu was 
  550.            being deleted after undo.
  551.          Fixed 1.4 bug that prevented multiple command-lines commands to be
  552.            executed.
  553.          Also fixed 1.4 bug that caused the Unknown-Command error dialog to be
  554.            displayed when there was no error.
  555.          Add and Strip Line Numbers and prefixes functions added.
  556.          Added line sorting.
  557.          Hard Wrap to Length and word wrapping to length no longer produce 
  558.            lines of differing length.
  559.          Marks now properly updated after all Undoes and Convert Menu items.
  560.          Fixed bug that caused endless loop with “Copy Lines Containing” when
  561.            wrap around search was selected.
  562.          Insertions outside the visible window previously caused blank lines
  563.            or double lines to be drawn even though the text was okay.
  564.          Replace and cut functions now much faster. The screen is not scrolled
  565.            for every replace.
  566.          The Tabs/Spaces interconversion routines were rewritten to be faster,
  567.            be correct, and to correctly support undo and marks.
  568.           LF to CR and reverse conversions now recalculate line starts.
  569.          Added cut, copy, paste, and clear for columns.
  570.          
  571. Known bugs
  572.      Unbroken text (i.e. containing no spaces) is wrapped to window width.
  573.      If no printer is selected, new windows do not appear on the screen.
  574.      Windows sometimes do not appear on the screen in other conditions,
  575.        perhaps related to memory overflow.
  576.      Vertical scroll bars are not shown if the number of lines in a file
  577.        exceeds 32K.
  578.      With Show Invisibles on, inserting CR at beginning of text is displayed
  579.        as if on 2nd line. The first line is not scrolled. Text is okay.
  580.  
  581. Features to be added:
  582.      Floating window for display of text stats.
  583.      Saving a default directory
  584.      Support of a complete AppleEvent suite and rationalization.
  585.      Support of Drag and Drop and Clippings.
  586.      
  587. Thanks to  Bruce Craven, Doug Dyment, Scott Gruby, Ralph Muha, Florin Neumann, 
  588. Robert J. Rockefeller, Michael O’Henly, Russel N. Owen, Ted Ripberger, Rich 
  589. Siegel, Steve Witt, David Wright, and particularly to Rich Scarlet for their 
  590. many helpful comments.
  591.  
  592. ------------
  593.  
  594. * Geo-speak. A stream is pirated when its flow is diverted into a 
  595.   neighboring water course.
  596.